/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.mlbs.session;

import com.mlbs.helper.Address;
import com.mlbs.helper.GeoCoordinate;
import com.mlbs.helper.Location;
import javax.ejb.Local;

/**
 * This class provides the Location services for the middleware. These include 
 * getting address in terms of physical address, coordinates and also reverse geo coding i.e. 
 * interconversion between physical address and coordinates.
 * @author hubharan
 */
@Local
public interface LocationServicesSBLocal {

    public javax.persistence.EntityManager getEntityManager();

    public com.mlbs.helper.Address getAddress(int appId, java.lang.String deviceId);

    public com.mlbs.helper.GeoCoordinate getLocationCoordinates(int appId, java.lang.String deviceId);

    public com.mlbs.helper.GeoCoordinate getRevGeoCoordinates(com.mlbs.helper.Address address);

    public com.mlbs.helper.Address getRevGeoCoordinates(com.mlbs.helper.GeoCoordinate coordinates);

  
//    Address getAddress(int appId, String deviceId, String session);
//
//    GeoCoordinate getLocationCoordinates(int appId, String deviceId, String session);
//
//    GeoCoordinate getRevGeoCoordinates(Address address, String session);
//
//    Address getRevGeoCoordinates(GeoCoordinate coordinates, String session);
//
//    boolean updateDeviceLocation(String deviceId, String session, Location location);
    
}
